1. 20.8 《绝地求生》玩家排名预测
1.1. 1 项目背景
绝地求生(Player unknown's Battlegrounds),俗称吃鸡,是一款战术竞技型射击类沙盒游戏。
这款游戏是一款大逃杀类型的游戏,每一局游戏将有最多100名玩家参与,他们将被投放在绝地岛(battlegrounds)上,在游戏的开始时所有人都一无所有。玩家需要在岛上收集各种资源,在不断缩小的安全区域内对抗其他玩家,让自己生存到最后。
本作拥有很高的自由度,玩家可以体验飞机跳伞、开越野车、丛林射击、抢夺战利品等玩法,小心四周埋伏的敌人,尽可能成为最后1个存活的人。
该游戏中,玩家需要在游戏地图上收集各种资源,并在不断缩小的安全区域内对抗其他玩家,让自己生存到最后。
1.2. 2 数据集介绍
本项目中,将为您提供大量匿名的《绝地求生》游戏统计数据。
其格式为每行包含一个玩家的游戏后统计数据,列为数据的特征值。
数据来自所有类型的比赛:单排,双排,四排;不保证每场比赛有100名人员,每组最多4名成员。
文件说明:
- train_V2.csv - 训练集
- test_V2.csv - 测试集
数据集局部图如下图所示:
数据集中字段解释:
- Id [用户id]
- Player’s Id
- groupId [所处小队id]
- ID to identify a group within a match. If the same group of players plays in different matches, they will have a different groupId each time.
- matchId [该场比赛id]
- ID to identify match. There are no matches that are in both the training and testing set.
- assists [助攻数]
- Number of enemy players this player damaged that were killed by teammates.
- boosts [使用能量,道具数量]
- Number of boost items used.
- damageDealt [总伤害]
- Total damage dealt. Note: Self inflicted damage is subtracted.
- DBNOs [击倒敌人数量]
- Number of enemy players knocked.
- headshotKills [爆头数]
- Number of enemy players killed with headshots.
- heals [使用治疗药品数量]
- Number of healing items used.
- killPlace [本厂比赛杀敌排行]
- Ranking in match of number of enemy players killed.
- killPoints [Elo杀敌排名]
- Kills-based external ranking of player. (Think of this as an Elo ranking where only kills matter.) If there is a value other than -1 in rankPoints, then any 0 in killPoints should be treated as a “None”.
- kills [杀敌数]
- Number of enemy players killed.
- killStreaks [连续杀敌数]
- Max number of enemy players killed in a short amount of time.
- longestKill [最远杀敌距离]
- Longest distance between player and player killed at time of death. This may be misleading, as downing a player and driving away may lead to a large longestKill stat.
- matchDuration [比赛时长]
- Duration of match in seconds.
- matchType [比赛类型(小组人数)]
- String identifying the game mode that the data comes from. The standard modes are “solo”, “duo”, “squad”, “solo-fpp”, “duo-fpp”, and “squad-fpp”; other modes are from events or custom matches.
- maxPlace [本局最差名次]
- Worst placement we have data for in the match. This may not match with numGroups, as sometimes the data skips over placements.
- numGroups [小组数量]
- Number of groups we have data for in the match.
- rankPoints [Elo排名]
- Elo-like ranking of player. This ranking is inconsistent and is being deprecated in the API’s next version, so use with caution. Value of -1 takes place of “None”.
- revives [救活队员的次数]
- Number of times this player revived teammates.
- rideDistance [驾车距离]
- Total distance traveled in vehicles measured in meters.
- roadKills [驾车杀敌数]
- Number of kills while in a vehicle.
- swimDistance [游泳距离]
- Total distance traveled by swimming measured in meters.
- teamKills [杀死队友的次数]
- Number of times this player killed a teammate.
- vehicleDestroys [毁坏机动车的数量]
- Number of vehicles destroyed.
- walkDistance [步行距离]
- Total distance traveled on foot measured in meters.
- weaponsAcquired [收集武器的数量]
- Number of weapons picked up.
- winPoints [胜率Elo排名]
- Win-based external ranking of player. (Think of this as an Elo ranking where only winning matters.) If there is a value other than -1 in rankPoints, then any 0 in winPoints should be treated as a “None”.
- winPlacePerc [百分比排名]
- The target of prediction. This is a percentile winning placement, where 1 corresponds to 1st place, and 0 corresponds to last place in the match. It is calculated off of maxPlace, not numGroups, so it is possible to have missing chunks in a match.
1.3. 3 项目评估方式
你必须创建一个模型,根据他们的最终统计数据预测玩家的排名,从1(第一名)到0(最后一名)。
最后结果通过平均绝对误差(MAE)进行评估,即通过预测的winPlacePerc和真实的winPlacePerc之间的平均绝对误差
关于MAE:
- sklearn.metrics.mean_absolute_error
1.4. 4 代码实现
见【PUBG-RF+lightGBM.ipynb】